package com.vueapi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.vueapi.domain.HjArticle;
import com.vueapi.domain.dto.ArticleDTO;
import com.vueapi.domain.vo.BlogViewCountVO;
import com.vueapi.utils.ResultUtils;

import java.util.List;

/**
 * @author 15442
 * @description 针对表【hj_article】的数据库操作Service
 * @createDate 2022-09-20 11:44:51
 */
public interface HjArticleService extends IService<HjArticle> {

    ResultUtils addBlog(ArticleDTO articleDto);

    ResultUtils listPage(Integer pageNum, Integer pageSize, String title, Integer categoryId, Integer isPublish);

    ResultUtils top(Integer id);

    ResultUtils changePublish(Integer id);

    ResultUtils changeComment(Integer id);

    ResultUtils getArticleById(Integer id);

    ResultUtils updateBlog(ArticleDTO articleDTO);

    ResultUtils deleteBlogs(String ids);

    List<BlogViewCountVO> getHotBlog();

    Integer getCount();

    List<Integer> getBlogAddCount();

    ResultUtils listPage(Integer pageNum, Integer pageSize, String title, Integer categoryId);

    ResultUtils getArticleByCategoryId(Integer pageNum, Integer pageSize, Integer categoryId);

    ResultUtils getArticleByTagId(Integer pageNum, Integer pageSize, Integer tagId);

    ResultUtils getNewsArticle();

    List<String> getAllUseCategoryByIds(List<Integer> categoryIds);
}
